package main

import "fmt"

// Phone 定义一个接口
type Phone interface {
	call()
}

// NokiaPhone 定义一个结构体，并实现Phone接口
type NokiaPhone struct {
}

func (nokiaPhone NokiaPhone) call() {
	fmt.Println("I am Nokia, I can call you!")
}

// IPhone 定义一个接口，并实现Phone接口
type IPhone struct {
}

func (iPhone IPhone) call() {
	fmt.Println("I am IPhone, I can call you!")
}

func main() {
	var phone Phone

	phone = NokiaPhone{}
	phone.call()

	phone = IPhone{}
	phone.call()
}
